﻿using ConfExpert.Forms.Base;
using DevExpress.XtraEditors;
using DevTeam;
using System;
using System.Data;

namespace ConfExpert.Forms.Depo.Kauf
{
    public partial class ModelDetaylari : XForm
    {
        int CustomerId;
        public ModelDetaylari(int customerId)
        {
            InitializeComponent();
            CustomerId = customerId;
        }

        private void ModelDetaylari_Load(object sender, EventArgs e)
        {
            
            gvModel.Init("GetModelDetay", CustomerId,cbTumu.Checked);

            //bool powerUser = (ds.EmpCustomer.Select("UserId=" + WhoAmI).Length > 0);
            DataTable dt = ExecuteDataTable("GetAuthorizedUser", CustomerId);

             bool powerUser =(dt.Select("UserId=" + WhoAmI).Length > 0);
             btnKaydet.Visibility = powerUser ? DevExpress.XtraBars.BarItemVisibility.Always : DevExpress.XtraBars.BarItemVisibility.Never;

            gvModel.SetCaptions("Yaka:Yaka İsmi/No", "Manset:Manşet İsmi/No");
            gvModel.MakeEditable("SezonId", "BrandId","Style","Line");
            gvModel.FormatAsNumber(2, "TahminiGarni1Birim", "TahminiGarni2Birim", "TahminiGarni3Birim", "TahminiGarni4Birim", "TahminiGarni5Birim", "TahminiGarni6Birim");
            gvModel.MakeColumnInvisible("ModelDetayId", "Aciklama5");

            btnKaydet.ItemClick += btnKaydet_ItemClick;
            cbTumu.CheckedChanged += cbTumu_CheckedChanged;

            gvModel.BestFitColumns();
        }

        void cbTumu_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            btnKaydet.PerformClick();
        }

        void btnKaydet_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            gvModel.EndEditing();
            int yanlisBM = gvModel.DataTable().Select("(Isnull(StokTipiId,0) <> 9 and (TahminiGarni1Birim >100 or TahminiGarni2Birim >100 or TahminiGarni3Birim >100 or TahminiGarni4Birim >100 or TahminiGarni5Birim >100 or TahminiGarni6Birim >100))"
                                                       + "or (Isnull(StokTipiId,0) = 9 and (TahminiGarni1Birim >120 or TahminiGarni2Birim >120 or TahminiGarni3Birim >120 or TahminiGarni4Birim >120 or TahminiGarni5Birim >120 or TahminiGarni6Birim >120))").Length;
            if (yanlisBM > 0)
            {
                XtraMessageBox.Show("Seçtiğiniz satırlarda yanlış girilmiş TAHMİNİ BİRİM METRAJLAR var.\n\nNot: Garni birim metrajlarını CM. cinsinden (0-100 arasında) giriniz ! Ürün tipi mont ise (0-120) arasında değer girebilebilir.", "Critical");
                return;
            }

            if (gvModel.Dataset().HasChanges())
                gvModel.Update();

            gvModel.RefreshDataSource("GetModelDetay", CustomerId, cbTumu.Checked);
        }

    }
}